#include  <stdio.h>
#include <stdlib.h>
#include <assert.h>
typedef int SLdata;

typedef struct SLCA {
    struct SLCA* p;
    SLdata a;
}CA;//取名叫CA，是因为查单词出现偏差，chain list，CA也就是链表的结构体
//里面包含了一个指针，指向下一个数据
void SL_firinsert(CA** pca,SLdata data);
void SL_endinsert(CA** pca,SLdata data);
void SLprint(CA* pca);
CA* Crea_node(SLdata X);
void SL_deletefir(CA** pca);
void SL_deletefend(CA** pca);
CA* SLdfind(CA* phead,SLdata data);
void SLindata(CA** phead,CA* pos,SLdata x);
void SLindata2(CA** phead,CA* pos,SLdata x);
void SLdele_now(CA** phead,CA* pos);
void SLdele_aft(CA** phead,CA* pos);